<template>
  <div>
    <!-- 模板里不需要写this，模板中可以获取到VC的所有属性 -->
    <h1>当前求和为: {{ $store.state.sum }}</h1>

    <!-- 获取store中的getters属性（和state是同级） -->
    <h3>当前求和放大十倍为: {{ $store.getters.BigSum }}</h3>
    <!-- 也可以通过v-model:number强制转换 -->
    <select v-model="n">
      <!-- 添加v-bind作为表达式使用 -->
      <option :value="1">1</option>
      <option :value="2">2</option>
      <option :value="3">3</option>
    </select>
    <button @click="increment">+</button>
    <button @click="decrement">-</button>
    <button @click="allAdd">总数为奇数时再加</button>
    <button @click="waitAdd">延迟添加</button>
  </div>
</template>

<script>
export default {
  // eslint-disable-next-line vue/multi-word-component-names
  name: "Count",
  data() {
    return {
      n: 1,

    };
  },
  methods: {
    increment() {
      //1：调用Vuex的action属性
      //this.$store.dispatch('jia', this.n)

      //2：直接调用mutation属性，注意是commit方法
      this.$store.commit('JIA', this.n)
    },
    decrement() {
      this.$store.commit('JIAN', this.n)
    },
    allAdd() {
      //奇数时再加，业务逻辑放在action中处理
      this.$store.dispatch('jiaOdd', this.n)
    },
    waitAdd() {
      this.$store.dispatch('jiaWait', this.n)
    },
  },
  mounted() {
    //console.log('App', this)
  }
};
</script>

<style>
bottom {
  margin-left: 5px;
}
</style>
